import axios from 'axios';
import { getToken } from 'utils/storage';
// 引入history
import history from 'utils/history';
export const baseURL = 'http://geek.itheima.net';
const instance = axios.create({
  baseURL: baseURL,
  timeout: 5000
});

// 请求拦截器
instance.interceptors.request.use(
  function (config) {
    // 在这里添加响应头的token携带
    config.headers.Authorization = `Bearer ${getToken()}`;

    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// 响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 💥小小的改造，多解构了一个data，再返回
    return response.data;
  },
  function (error) {
    console.dir(error);
    // 1,添加判断，如果请求在401（状态码）的时候，表示token失效，需要退出到登录页面
    if (error.response.status === 401) {
      // 2，暂时使用原生js跳转页面，到那时有一个问题，使用该方法跳转页面，会造成页面整体刷新===性能不好
      // window.location.href = '/login';
      // 用自己封装的history跳转路由
      history.push('/login');
    }
    return Promise.reject(error);
  }
);

export default instance;
